将unsigned int转换为int的过程中,不会对数据本身进行任何操作,只是改变了对数据的解释方法,例如:
unsigned int i = 0x80004000;
printf("%u %x\n",i,i);
printf("%d %x\n",(int)i,(int)i);
打印结果:
2147500032 80004000
-2147467264 80004000
将unsigned int转换为int的过程中,不会对数据本身进行任何操作,只是改变了对数据的解释方法,例如:
unsigned int i = 0x80004000;
printf("%u %x\n",i,i);
printf("%d %x\n",(int)i,(int)i);
打印结果:
2147500032 80004000
-2147467264 80004000